iT邦幫忙

2025 iThome 鐵人賽

0
AI & Data

AI 營養師 + Web3 數位健康護照系列 第 34

Day34. 認識「Remix」:瀏覽器上的智慧合約 IDE

  • 分享至 

  • xImage
  •  

我還是習慣用 IDE 做專案啊~~

感謝 web3.py 套件,讓 VSCode 可以撐這麼久,其實也是可以一路 VSCode 到底,只是比較麻煩(要裝很多東東),所以...

Web3 的部分還是先用 Remix 吧~

一、認識 Remix

1. 關於 Remix

Day11 提到 VSCode 是 Web2 常用的本地 IDE。它支援模組化開發、測試框架、版本控制與 CI/CD,是正式專案的首選工具。

而在去中心化的世界裡,也有一個「瀏覽器版 VSCode」的存在:Remix

Remix 是一個功能強大的開源 IDE(整合開發環境),專門為開發者設計來撰寫、編譯、部署和偵錯智慧合約(Smart Contract)。它最大的特色是完全基於瀏覽器,不需要安裝任何軟體,只需打開網頁,就能立即開始編寫去中心化應用程式(DApp)。


2. Remix 的優點

  • Remix 內建「Injected Provider」功能,能與 MetaMask 錢包無縫整合。

  • Remix VM 虛擬機,適合快速測試

  • 適合在原型驗證階段使用:

Remix 完全基於瀏覽器,不需要安裝 Node.js、Hardhat、Truffle 等工具。只要打開 remix.ethereum.org,就能立即開始開發。很適合在原型驗證階段使用。

3. 為什麼需要使用 Remix?

除了適合在原型驗證階段使用,能直接連接 MetaMask 錢包,最主要的原因是會用到 Solidity 語言,而 Remix 就是專門為 Solidity 語言打造的 IDE,可以直接在瀏覽器中撰寫 .sol 檔案,相當的方便。


二、VSCode 與 Remix 如何分工?

1. VSCode 與 Remix 的比較

在 Web3 專案中,Remix 與 VSCode 的關係並不是互相競爭;相反的,是各自扮演不同角色

功能面向 VSCode + Hardhat Remix IDE(瀏覽器)
安裝與啟動 需要安裝 Node.js、Hardhat 等 免安裝,打開網頁即用
編譯與部署 需撰寫部署腳本 內建編譯器與部署介面
測試支援 支援 TDD、unit test 僅支援手動測試
錢包整合 需額外串接 Web3.js/Web3.py 直接支援 MetaMask
適合階段 正式專案、多人協作 教學、原型、快速驗證
優勢 可擴充、模組化、測試完整 快速部署、免設定、即時互動

三、Remix 安裝與使用教學

step 1. 開啟 Remix 網頁

直接在瀏覽器輸入網址:https://remix.ethereum.org/

https://ithelp.ithome.com.tw/upload/images/20251024/20129220upYkvpWaHf.png


step 2. 認識 Remix 介面

Remix 的介面分為幾個主要區塊:

  • 檔案瀏覽器(File Explorer):位於左側,可以創建、管理或匯入 .sol 合約檔案。

  • 編碼區(Editor):介面中央,也就是撰寫 Solidity 程式碼的地方。

  • 功能面板(Side Panel):位於左側,包含:

    • 編譯器(Compiler)
    • 部署與交易(Deploy & Run Transactions)
    • 偵錯器(Debugger)
  • RemixAI:位於右側。跟 Colab & VSCode 一樣,都有提供 AI 助理的功能。


step 3. 開始編碼

在檔案瀏覽器中:

  • 點擊 contracts 資料夾
  • 點擊「New File」,命名為 MyContract.sol
  • 這樣就可以開始寫智能合約的程式碼了

或是直接將這一段 solidity 程式碼貼到 MyContract.sol:

// SPDX-License-Identifier: MIT
// 指定程式碼的許可證類型為 MIT

pragma solidity ^0.8.20;

// 宣告一個名為 'Storage' 的智慧合約
contract Storage {

    // 狀態變數 (State Variable): 儲存在區塊鏈上的變數
    // 'public' 關鍵字會自動為此變數建立一個名為 'number' 的 getter(讀取)函式
    uint256 public number; 

    // 函式 (Function): 用來設定 'number' 的值
    // 'set' 函式接受一個名為 '_num' (無符號 256 位元整數) 的輸入參數
    function set(uint256 _num) public {
    
        // 'public' 允許任何人呼叫此函式 (這會花費 Gas,因為它修改了狀態)
        number = _num; // 將合約中的 'number' 狀態變數設定為輸入的 '_num' 值
    }

     // getter 已由 Solidity 自動生成(number()),無需手動寫 get()
}

貼上後, Remix 會很貼心的提醒「If you don't fully understand it, please don't run this code.

https://ithelp.ithome.com.tw/upload/images/20251024/201292207pxwQaOmC5.png

針對這種情形,Remix 提供 AI(Ask RemixAI)的功能讓使用者諮詢


step 4. 編譯合約

  • 點擊右側的「Compiler」圖示
  • 選擇 Solidity 版本(與 prague 一致)
  • 點擊「Compile MyContract.sol」

https://ithelp.ithome.com.tw/upload/images/20251024/20129220FlZpTopEfx.jpg

編譯成功後會看到綠色的Nike(勾勾)

https://ithelp.ithome.com.tw/upload/images/20251024/20129220CEFM0wcFnr.jpg


step 5. 部署合約

  • 切換到「Deploy & Run Transactions」面板
  • 在 Environment 選單中選擇:
    • Remix VM(快速測試)
  • 點擊「Deploy」
  • 部署成功可以在「Deployed Contracts」看到紀錄

https://ithelp.ithome.com.tw/upload/images/20251025/201292204hOOKTdcbe.jpg

操作過程中如果有遇到問題,可以跟 RemixAI 求救~


四、認識 RemixAI

1. Ask RemixAI

Coding 的過程中,Remix 如果偵測到程式碼是用貼上的,就會出現警告視窗,底下有個「Ask RemixAI」的選項。看看 RemixAI 怎麼說 MyContract.sol

https://ithelp.ithome.com.tw/upload/images/20251024/20129220IocSPCjqzA.png

2. 功能介紹

  • 左下方有4個AI模型可以選擇

https://ithelp.ithome.com.tw/upload/images/20251024/20129220pRYEK0uxf2.png

  • 右下方「Create new workplace with AI」提供 AI 協作功能

https://ithelp.ithome.com.tw/upload/images/20251024/20129220vOjMowuF8w.png


五、延伸閱讀


上一篇
Day33. Web3 環境建置與打卡專案初始化
下一篇
Day35. 認識「MetaMask」:連接使用者與去中心化世界的橋樑
系列文
AI 營養師 + Web3 數位健康護照37
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言